<style lang="less"></style>

<template>
    <div>
        <Card>
            <Row>
                <Form ref="searchForm" inline :label-width="70" @keydown.enter.native="handleGo">
                    <FormItem label="链接地址" prop="url">
                        <Input type="text" v-model="url" placeholder="http://" clearable style="width: 350px" />
                    </FormItem>
                    <FormItem style="margin-left: -50px">
                        <Button @click="handleGo" type="primary" icon="ios-send" style="margin-right: 5px">前往</Button>
                        <Button @click="handleOpen" icon="md-open">新窗口中打开</Button>
                    </FormItem>
                </Form>
            </Row>
            <Divider style="margin-top: -10px; margin-bottom: 0px" />
            <Row>
                <div style="position: relative">
                    <iframe id="iframe" :src="go" frameborder="0" width="100%" :height="height" scrolling="auto"></iframe>
                    <Spin fix size="large" v-if="loading"></Spin>
                </div>
            </Row>
        </Card>
    </div>
</template>

<script>
export default {
    name: 'monitor',
    data() {
        return {
            loading: false,
            go: '',
            url: '',
            html: '',
            height: '525px'
        };
    },
    computed: {},
    methods: {
        initUrl() {
            let url = this.$route.meta.url;
            if (url !== null && url !== undefined) {
                this.url = url;
                this.go = url;
                // window.open(this.go);
                this.loading = true;
                let that = this;
                // 判断iframe是否加载完毕
                let iframe = document.getElementById('iframe');
                if (iframe.attachEvent) {
                    iframe.attachEvent('onload', function () {
                        //iframe加载完成后你需要进行的操作
                        that.loading = false;
                    });
                } else {
                    iframe.onload = function () {
                        //iframe加载完成后你需要进行的操作
                        that.loading = false;
                    };
                }
            }
        },
        handleGo() {
            let url = this.url;
            this.go = this.url;
        },
        handleOpen() {
            window.open(this.url);
        }
    },
    watch: {
        $route(to, from) {
            this.initUrl();
        }
    },
    mounted() {
        // 计算高度
        let height = document.documentElement.clientHeight;
        this.height = Number(height - 217) + 'px';
        this.initUrl();
    }
};
</script>
